package com.flying.oop_demo1;

/**
 * @author 刘鹏飞
 * @ClassName Test
 * @Date 2024/12/5 22:28
 * @Created by 刘鹏飞
 * @Description 测试Java值传递
 */
public class TestValuePropagation {
    public static void main(String[] args) {


        // Java中遵循值传递的原则，传递的都是值的拷贝
        // 基本数据类型的值传递
        //
        int a=10;

        int b=a;  // 将a的值 10 拷贝之后赋值给 b

        b=20;

        System.out.println("b = " + b);   // 20
        System.out.println("a = " + a);   // 10


        Dog yellowDog = new Dog("大黄");

        Dog dog2=yellowDog;   // 将 yellowDog对象的地址值拷贝赋值给 dog2，此时 yellowDog 和 dog2  指向同一个堆内存空间

        System.out.println(dog2.name);



        // 改变 dog的属性，测试yellowDog的属性会发生改变吗

        dog2.name="小黑";
        System.out.println(yellowDog.name);   //  小黑



    }

}
